package Practice;

import java.util.HashMap;
import java.util.Map;

/**
 * @ProjectName: ybxy6
 * @Titile: MapPracticeDemo
 * @Author: 86183
 * @Description: TODO
 */
public class MapPractice {
    public static void main(String[] args) {
        Map<String, String> data = new HashMap<>();
        //添加人物和成绩数据
        data.put("张三", "A");
        data.put("李四", "B");
        data.put("王五", "C");
        data.put("赵六", "D");
        data.put("田七", "A");
        data.put("小李", "A");
        data.put("小王", "A");
        data.put("小赵", "A");
        data.put("小钱", "B");
        // 统计每个分数出现的次数
        count(data);
    }
    public static void count(Map<String, String>data){
        /**
         *
         * 1.创建新的Map集合，统计每个分数出现的次数
         * 2.遍历data集合(key--value)，获取每个分数对应的次数
         * 3.将value（A）拿出来，作为key存储到新的Map集合中
         * 4.如果新的Map集合中，有key对应的value（A），则A的值+1
         * 5.如果新的Map集合中没有key对应的value（A），则A---1存储到新的Map集合中
         * 6.遍历，打印新的Map集合
         */
        Map<String, Integer> resultMap = new HashMap<>();
        data.forEach((key, value)->{
            /*3.将value（A）拿出来，作为key存储到新的Map集合中
                    * 4.如果新的Map集合中，有key对应的value（A），则A的值+1
                    * 5.如果新的Map集合中没有key对应的value（A），则A---1存储到新的Map集合中
            */boolean containsKey =resultMap.containsKey(value);
            if (containsKey){
                Integer oldCount = resultMap.get(value);
                resultMap.put(value, oldCount+1);
            }else {
                resultMap.put(value, 1);
            }
        });
        //6.遍历，打印新的Map集合
        resultMap.forEach((key, value)->{
            System.out.println(key+"---"+value);
        });
    }
}
